На форму можно помещать и дополнительные элементы, любые зарегистрированные на Вашем компьютере. Для этого в панели инструментов есть кнопка дополнительные элементы.

Нажав на эту кнопку у вас выпадет список элементов которые есть на компьютере. Давайте найдем календарь.

После того как Вы его выберите его можно поместить на форму.

Теперь к этому элементу можно обращаться из VBA. Вот так например. В данном примере строить запрос на основе дат установленных в календаре.
Dim date1 As String
Dim date2 As String
Dim x As Integer
date1 = Str(Me!ЭлементActiveX2.Day) + "/" + Str(ЭлементActiveX2.Month) + "/" + Str(ЭлементActiveX2.Year)
date2 = Str(Me!ЭлементActiveX3.Day) + "/" + Str(ЭлементActiveX3.Month) + "/" + Str(ЭлементActiveX3.Year)
date1 = "#" + date1 + "#"
date2 = "#" + date2 + "#"
Dim dbs As Database, qdf As QueryDef, strSQL As String
' имя организация
Dim strOrd As String
' Возвращает ссылку на текущую базу данных.
Set dbs = CurrentDb
' установить фокус
Me.Организация.SetFocus
' получает строку из поля со списком
strOrd = Me.Организация.Text
strOrd = "'" + strOrd + "'"
' построить запрос
strSQL = "SELECT parther.Name,chet.Nomer, chet.Data, chet.Prixod,"
strSQL = strSQL + " chet.Rasxod FROM parther INNER JOIN chet ON parther.ID_PARTHER"
strSQL = strSQL + " = chet.ID_PARTHER WHERE ( parther.Name=" + strOrd + ")"
strSQL = strSQL + " AND ( chet.Data >" + date1 + ")" + " AND ( chet.Data < " + date2 + ")"
strSQL = strSQL + " ORDER BY chet.Data; "
' Создает новый запрос.
dbs.QueryDefs.Delete ("приход")
Set qdf = dbs.CreateQueryDef("приход", strSQL)
DoCmd.OpenReport "parther", acViewPreview
Set dbs = Nothing
End Sub
При использовании элементов ActiveX всегда есть вариант что данного элемента нет на компьютере пользователя. Поэтому лучше при передаче базы лучше копировать элементы и производить их регистрацию. Вот пример команды для регистрации элемента управления:
Regsvr32.exe Mscal.ocx